import { defineStore } from 'pinia';
import { systemApi } from '@/api/system/system-api';

export const websiteStore = defineStore('websiteStore', {
    state: () => ({
        id:'',              // 主键
        webAvatar:'',       // 站点头像
        name:'',            // 站点名称
        webSlogan:'',       // 站点格言
        domain:'',          // 站点主页
        notice:'',          // 站点通知
        desc:'',            // 站点描述
        wallpaper:'',       // 站点大背景图
        isNewYear:'',       // 是否新年
        globalStyle:'',     // 站点全局样式：公祭日置灰等
        articleCount:0,     // 站点文章
        webLikesCount:0,    // 站点文章点赞
        messageCount:0,     // 站点留言
        screenType:'',      // 当前屏幕宽度类别（响应式操作）
    }),
    // Getter 完全等同于 Store 状态的计算值，计算state中的值
    getters:{
    },
    // 设置state中的基本信息
    actions:{ 
        // 设置站点信息
        setWebInfo(data) {
            this.id = data.id;
            this.webAvatar = data.avatar;
            this.name = data.name;
            this.webSlogan = data.slogan;
            this.domain = data.domain;
            this.notice = data.notice;
            this.desc = data.desc;
            this.wallpaper = data.wallpaper;
            this.isNewYear = data.isNewYear;
            this.globalStyle = data.globalStyle;
        },

        // 获取用户信息
        async getWebInfo() {
            const webInfo = await systemApi.list();
            this.setWebInfo(webInfo.data.data[0]);
        },

        // 设置站点统计信息
        setWebCountInfo(data) {
            console.log(data);
            this.articleCount = data.articleCount;
            this.webLikesCount = data.likesCount;
            this.messageCount = data.messageCount;
        },

        // 设置当前站点设备
        setScreenType(data) {
            this.screenType = data;
        }
    },
    persist: [// 在这里进行自定义配置
        {
            paths: [ 'id', 'webAvatar', 'name', 'webSlogan', 'screenType'],
            storage: sessionStorage,
        },
    ]
})